Verifying an Applicative ATP Using Multiset Relations
نویسندگان
چکیده
We present in this paper a formalization of multiset relations in the ACL2 theorem prover [6], and we show how multisets can be used to mechanically prove non-trivial termination properties. Every relation on a set A induces a relation on finite multisets over A; it can be shown that the multiset relation induced by a well-founded relation is also wellfounded [3]. We have carried out a mechanical proof of this property in the ACL2 logic. This allows us to provide well-founded multiset relations in order to prove termination of recursive functions. Once termination is proved, the function definition is admitted as an axiom in the logic and formal mechanized reasoning about it is possible. As a major application of this tool, we show how multisets can be used to prove termination of a tableaux based theorem prover for propositional logic.
منابع مشابه
Writing JML Specifications Using Java 8 Streams
1998 CR Categories: D.1.5 [Programming Techniques] Applicative (Functional) Programming; D.2.1 [Software Engineering] Requirements/Specificationslanguages; D.2.4 [Software Engineering] Software/Program Verificationclass invariants, formal methods, programming by contract; D.3.3 [Software Engineering] Language Constructs and Featuresclasses and objects, frameworks; F.3.1 [Logics and Meanings ...
متن کاملRelational Refinement Types for Higher-Order Shape Transformers (Invited Talk)
Understanding, discovering, and proving useful properties of sophisticated data structures are central problems in program verification. A particularly challenging exercise for shape analyses involves reasoning about sophisticated shape transformers that preserve the shape of a data structure (e.g., the data structure skeleton is always maintained as a balanced tree) or the relationship among v...
متن کاملQuantitative Behavioural Reasoning for Higher-order Effectful Programs: Applicative Distances (Extended Version)
Behavioural preorders and equivalences for higher-order languages have been extensively studied in the last decades, often leading to rich and satisfactory theories. However, in presence of effectful computations ordinary behavioural relations can be too discriminating, as highlighted by probabilistic higher-order languages. An elegant way to avoid such problem is to move from qualitative, bool...
متن کاملGeneral relations between partially ordered multisets and their chains and antichains
In this paper we begin with the basics of multisets and their operations introduced in [5, 22] and define a multiset relation, an equivalence multiset relation and explore some of their basic properties. We also define a partially ordered multiset as a multiset relation being reflexive, antisymmetric and transitive, chains and antichains of a partially ordered multiset, and extend Dilworth’s Th...
متن کاملVerification of an In-place Quicksort in ACL2
We present a proof of an efficient, in-place Quicksort implementation [1] using single-threaded objects (stobjs) in ACL2 [3, 4]. We demonstrate that the Quicksort implementation is equivalent to a simple insertion-sort function that is shown to produce an ordered permutation of its input. For ease of reasoning, the demonstration is carried out by verifying a series of ”intermediate” sorting fun...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001